All files / src/app/reseller page.tsx

0% Statements 0/13
0% Branches 0/3
0% Functions 0/2
0% Lines 0/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40                                                                               
'use client';
 
import { useState, Suspense } from 'react';
import { useSearchParams } from 'next/navigation';
import { useAuth } from '@/contexts/AuthContext';
import { ResellerRoute } from '@/components/auth/ProtectedRoute';
import ResellerDashboard from '@/components/reseller/ResellerDashboard';
import ResellerProfileDialog from '@/components/reseller/ResellerProfileDialog';
import { useBannedRedirect } from '@/hooks/useBannedRedirect';
 
function ResellerPageContent() {
  const { user } = useAuth();
  const searchParams = useSearchParams();
  const initialView = searchParams.get('view') || 'dashboard';
  const [profileOpen, setProfileOpen] = useState(false);
 
  useBannedRedirect();
 
  return (
    <ResellerRoute>
      <ResellerDashboard initialView={initialView} />
      {user && (
        <ResellerProfileDialog
          open={profileOpen}
          onOpenChange={setProfileOpen}
          user={user}
        />
      )}
    </ResellerRoute>
  );
}
 
export default function ResellerPage() {
  return (
    <Suspense fallback={<div className="flex items-center justify-center min-h-screen"><div className="animate-spin rounded-full h-8 w-8 border-b-2 border-primary"></div></div>}>
      <ResellerPageContent />
    </Suspense>
  );
}